﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sinacor.UI.Bovespa.Clientes.Communication.Translator.ModelToDataContract
{
    public class RelacionamentoBroker
    {
        public Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerRequest ToFiltroRelacionamentoBrokerRequest(Model.Parameter.FiltroRelacionamentoBroker from)
        {
            Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerRequest to = null;

            if (from != null)
            {
                to = new Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerRequest();

                to.CodigoBrokerCliente = from.CodigoBrokerCliente;

                if(from.CodigoBrokerIntermediario.HasValue)
                    to.CodigoBrokerIntermediario = from.CodigoBrokerIntermediario.Value;

                if(from.CodigoBrokerPrincipal.HasValue)
                    to.CodigoBrokerPrincipal = from.CodigoBrokerPrincipal.Value;
            }

            return to;
        }

        public Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerChaveRequest ToFiltroRelacionamentoBrokerChaveRequest(Model.Parameter.FiltroRelacionamentoBrokerChave from)
        {
            Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerChaveRequest to = null;

            if (from != null)
            {
                to = new Bovespa.Cliente.RelacionamentoBroker.FiltroRelacionamentoBrokerChaveRequest();

                to.CodigoBrokerIntermediario = from.CodigoBrokerIntermediario;
                to.CodigoBrokerPrincipal = from.CodigoBrokerPrincipal;
            }

            return to;
        }

        public Bovespa.Cliente.RelacionamentoBroker.RelacionamentoBrokerRequest ToRelacionamentoBrokerRequest(Model.RelacionamentoBroker from)
        {
            Bovespa.Cliente.RelacionamentoBroker.RelacionamentoBrokerRequest to = null;

            if (from != null)
            {
                to = new Bovespa.Cliente.RelacionamentoBroker.RelacionamentoBrokerRequest();

                to.CodigoBrokerCliente = from.CodigoBrokerCliente;

                if (from.CodigoBrokerIntermediario.HasValue)
                    to.CodigoBrokerIntermediario = from.CodigoBrokerIntermediario.Value;

                if (from.CodigoBrokerPrincipal.HasValue)
                    to.CodigoBrokerPrincipal = from.CodigoBrokerPrincipal.Value;

                to.ApelidoBrokerIntermediario = from.ApelidoBrokerIntermediario;
                to.ApelidoBrokerPrincipal = from.ApelidoBrokerPrincipal;
            }

            return to;
        }
    }
}
